resources/components/index 內新增首頁個區塊 components
設定 vuex 配置
<script>
import {mapState, mapGetters} from 'vuex'
export default {
computed:{
...mapState('newArrival', ['new_arrivals']),
...mapGetters('newArrival', ['getSlice'])
},
mounted(){
console.log('new arrivals component mounted')
this.$store.dispatch('newArrival/getNewArrival', '5')
}
}
</script>
resources/js/store 下建立模塊, 用來取不同資料內容
e.g 設定首頁最新商品區塊
<script>
import {mapState, mapGetters} from 'vuex'
export default {
computed:{
// 建立 state 計算屬性
...mapState('newArrival', ['new_arrivals']),
// 建立 getter 計算屬性
...mapGetters('newArrival', ['getSlice'])
},
mounted(){
console.log('new arrivals component mounted')
this.$store.dispatch('newArrival/getNewArrival', '5')
}
}
</script>
import {mapState, mapGetters, mapActions, mapMutations} from 'vuex'
export default {
// ... 其他省略
methods: {
// 第一種寫法, 指定 function 的名稱
...mapActions({getProducts:'getNewArrival'})
// 直接使用原始方法名稱
...mapActions(['getNewArrival'])
}
}
import {mapState, mapGetters, mapActions, mapMutations} from 'vuex'
export default {
// ... 其他省略
methods: {
// 第一種寫法, 指定 function 的名稱
...mapMutations({getARRIVAL:'GETNEWARRIVAL'})
// 直接使用原始方法名稱
...mapMutations(['GETNEWARRIVAL'])
}
}
// 參數為要修改的值
getProducts(5)